<?php
require_once "login.php";
require_once 'Model/Usuario.php';
require_once 'DAO/DAOUsuario.php';
require_once 'DAO/DAOEndereco.php';
require_once 'DAO/DAOBairro.php';
require_once 'DAO/DAOCidade.php';

class UsuarioController {
    private $usuario;
    function UsuarioController() {
        if (LoginController::singleton()->estaConectado()) {
            $this->usuario = LoginController::singleton()->getUsuario();
            if (!empty($_POST)) {
                if (!empty($_POST['formUpdateUsuario'])) {
                    if ($this->updateUsuario($this->usuario)) {
                        $this->usuario = LoginController::singleton()->getUsuario();
                    }
                }
            }
            require_once 'viewUsuario.php';
        } else {
            require_once 'Controller/PrincipalController.php';
            $view = new PrincipalController();
        }
    }

    function getEventosVertical() {
        require_once 'DAO/DAOEventos.php';
        $de = new DAOEventos();
        $teste = $de->getEventos(3);
        foreach ($teste as $eve) {
            ?>
            <a class="text-center" href="/evento/<? echo $eve->getCodigo(); ?>">
                <div class="thumbnail" style="margin-bottom: 5px;">
                    <h3><? echo $eve->getTitulo(); ?></h3>
            <? echo '<img  src="img/' . ($eve->getImagemPrincipal()->getImagem()) . '">'; ?>
                </div>
            </a>
            <?
        }
    }

    function updateUsuario(Usuario $usuario) {
        $codigo = $usuario->getCodigo();
        $usu = new Usuario();
        $usu->setCodigo($codigo);
        $usu->setNome($_POST['edtNome']);
        $usu->setSexo($_POST['edtSexo']);
        if ($usuario->getCpf() == NULL) {
            $usu->setCpf($_POST['edtCpf']);
        } else {
            $usu->setCpf($usuario->getCpf());
        }

        $usu->setRg($_POST['edtRg']);
        $usu->setDataNascimento($_POST['edtNascimento']);

        $de = new DAOEndereco();
        if (!empty($_POST['edtEndereco'])) {
            $de = new DAOEndereco();
            $endereco = $de->getEnderecoByDescricao($_POST['edtEndereco']);

            if ($endereco == NULL) {
                $endereco = $de->addEndereco(new Endereco(1, $_POST['edtEndereco']));
            }
            $usu->setEndereco($endereco);
        }
        $usu->setNumero($_POST['edtNumero']);

        $db = new DAOBairro();
        $bairro = $db->getBairroByDescricao($_POST['edtBairro']);
        if ($bairro == NULL) {
            $bairro = $db->addBairro(new Bairro(0, $_POST['edtBairro']));
        }
        $usu->setBairro($bairro);

        $dc = new DAOCidade();
        $cidade = $dc->getCidade($_POST['edtCidade']);
        $usu->setCidade($cidade);

        $usu->setEmail($_POST['edtEmail']);
        $usu->setSenha($_POST['edtSenha']);
        $du = new DAOUsuario();
        $_SESSION['Usuario'] = $du->updateUsuario($usu);
    }
    
    public function getUsuario() {
        return $this->usuario;
    }


}
?>
